﻿/**
 * jQuery EasyUI 1.2.5
 * 
 * Licensed under the GPL terms To use it on other terms please contact us
 * 
 * Copyright(c) 2009-2011 stworthy [ stworthy@gmail.com ]
 * 
 */
(function($) {
	function _1(_2, _3) {
		var _4 = $.data(_2, "window").options;
		if (_3) {
			if (_3.width) {
				_4.width = _3.width;
			}
			if (_3.height) {
				_4.height = _3.height;
			}
			if (_3.left != null) {
				_4.left = _3.left;
			}
			if (_3.top != null) {
				_4.top = _3.top;
			}
		}
		$(_2).panel("resize", _4);
	};
	function _5(_6, _7) {
		var _8 = $.data(_6, "window");
		if (_7) {
			if (_7.left != null) {
				_8.options.left = _7.left;
			}
			if (_7.top != null) {
				_8.options.top = _7.top;
			}
		}
		$(_6).panel("move", _8.options);
		if (_8.shadow) {
			_8.shadow.css({
						left : _8.options.left,
						top : _8.options.top
					});
		}
	};
	function _9(_a) {
		var _b = $.data(_a, "window");
		var _c = $(_a).panel($.extend({}, _b.options, {
					border : false,
					doSize : true,
					closed : true,
					cls : "window",
					headerCls : "window-header",
					bodyCls : "window-body "
							+ (_b.options.noheader
									? "window-body-noheader"
									: ""),
					onBeforeDestroy : function() {
						if (_b.options.onBeforeDestroy.call(_a) == false) {
							return false;
						}
						if (_b.shadow) {
							_b.shadow.remove();
						}
						if (_b.mask) {
							_b.mask.remove();
						}
					},
					onClose : function() {
						if (_b.shadow) {
							_b.shadow.hide();
						}
						if (_b.mask) {
							_b.mask.hide();
						}
						_b.options.onClose.call(_a);
					},
					onOpen : function() {
						if (_b.mask) {
							_b.mask.css({
										display : "block",
										zIndex : $.fn.window.defaults.zIndex++
									});
						}
						if (_b.shadow) {
							_b.shadow.css({
										display : "block",
										zIndex : $.fn.window.defaults.zIndex++,
										left : _b.options.left,
										top : _b.options.top,
										width : _b.window.outerWidth(),
										height : _b.window.outerHeight()
									});
						}
						_b.window.css("z-index", $.fn.window.defaults.zIndex++);
						_b.options.onOpen.call(_a);
					},
					onResize : function(_d, _e) {
						var _f = $(_a).panel("options");
						_b.options.width = _f.width;
						_b.options.height = _f.height;
						_b.options.left = _f.left;
						_b.options.top = _f.top;
						if (_b.shadow) {
							_b.shadow.css({
										left : _b.options.left,
										top : _b.options.top,
										width : _b.window.outerWidth(),
										height : _b.window.outerHeight()
									});
						}
						_b.options.onResize.call(_a, _d, _e);
					},
					onMinimize : function() {
						if (_b.shadow) {
							_b.shadow.hide();
						}
						if (_b.mask) {
							_b.mask.hide();
						}
						_b.options.onMinimize.call(_a);
					},
					onBeforeCollapse : function() {
						if (_b.options.onBeforeCollapse.call(_a) == false) {
							return false;
						}
						if (_b.shadow) {
							_b.shadow.hide();
						}
					},
					onExpand : function() {
						if (_b.shadow) {
							_b.shadow.show();
						}
						_b.options.onExpand.call(_a);
					}
				}));
		_b.window = _c.panel("panel");
		if (_b.mask) {
			_b.mask.remove();
		}
		if (_b.options.modal == true) {
			_b.mask = $("<div class=\"window-mask\"></div>")
					.insertAfter(_b.window);
			_b.mask.css({
						width : (_b.options.inline
								? _b.mask.parent().width()
								: _10().width),
						height : (_b.options.inline
								? _b.mask.parent().height()
								: _10().height),
						display : "none"
					});
		}
		if (_b.shadow) {
			_b.shadow.remove();
		}
		if (_b.options.shadow == true) {
			_b.shadow = $("<div class=\"window-shadow\"></div>")
					.insertAfter(_b.window);
			_b.shadow.css({
						display : "none"
					});
		}
		if (_b.options.left == null) {
			var _11 = _b.options.width;
			if (isNaN(_11)) {
				_11 = _b.window.outerWidth();
			}
			if (_b.options.inline) {
				var _12 = _b.window.parent();
				_b.options.left = (_12.width() - _11) / 2 + _12.scrollLeft();
			} else {
				_b.options.left = ($(window).width() - _11) / 2
						+ $(document).scrollLeft();
			}
		}
		if (_b.options.top == null) {
			var _13 = _b.window.height;
			if (isNaN(_13)) {
				_13 = _b.window.outerHeight();
			}
			if (_b.options.inline) {
				var _12 = _b.window.parent();
				_b.options.top = (_12.height() - _13) / 2 + _12.scrollTop();
			} else {
				_b.options.top = ($(window).height() - _13) / 2
						+ $(document).scrollTop();
			}
		}
		_5(_a);
		if (_b.options.closed == false) {
			_c.window("open");
		}
	};
	function _14(_15) {
		var _16 = $.data(_15, "window");
		_16.window.draggable({
			handle : ">div.panel-header>div.panel-title",
			disabled : _16.options.draggable == false,
			onStartDrag : function(e) {
				if (_16.mask) {
					_16.mask.css("z-index", $.fn.window.defaults.zIndex++);
				}
				if (_16.shadow) {
					_16.shadow.css("z-index", $.fn.window.defaults.zIndex++);
				}
				_16.window.css("z-index", $.fn.window.defaults.zIndex++);
				if (!_16.proxy) {
					_16.proxy = $("<div class=\"window-proxy\"></div>")
							.insertAfter(_16.window);
				}
				_16.proxy.css({
							display : "none",
							zIndex : $.fn.window.defaults.zIndex++,
							left : e.data.left,
							top : e.data.top,
							width : ($.boxModel == true
									? (_16.window.outerWidth() - (_16.proxy
											.outerWidth() - _16.proxy.width()))
									: _16.window.outerWidth()),
							height : ($.boxModel == true
									? (_16.window.outerHeight() - (_16.proxy
											.outerHeight() - _16.proxy.height()))
									: _16.window.outerHeight())
						});
				setTimeout(function() {
							if (_16.proxy) {
								_16.proxy.show();
							}
						}, 500);
			},
			onDrag : function(e) {
				try{
					_16.proxy.css({
								display : "block",
								left : e.data.left,
								top : e.data.top
							});
				}catch(e){};
				return false;
			},
			onStopDrag : function(e) {
				_16.options.left = e.data.left;
				_16.options.top = e.data.top;
				$(_15).window("move");
				_16.proxy.remove();
				_16.proxy = null;
			}
		});
		_16.window.resizable({
			disabled : _16.options.resizable == false,
			onStartResize : function(e) {
				_16.pmask = $("<div class=\"window-proxy-mask\"></div>")
						.insertAfter(_16.window);
				_16.pmask.css({
							zIndex : $.fn.window.defaults.zIndex++,
							left : e.data.left,
							top : e.data.top,
							width : _16.window.outerWidth(),
							height : _16.window.outerHeight()
						});
				if (!_16.proxy) {
					_16.proxy = $("<div class=\"window-proxy\"></div>")
							.insertAfter(_16.window);
				}
				_16.proxy.css({
					zIndex : $.fn.window.defaults.zIndex++,
					left : e.data.left,
					top : e.data.top,
					width : ($.boxModel == true ? (e.data.width - (_16.proxy
							.outerWidth() - _16.proxy.width())) : e.data.width),
					height : ($.boxModel == true
							? (e.data.height - (_16.proxy.outerHeight() - _16.proxy
									.height()))
							: e.data.height)
				});
			},
			onResize : function(e) {
				_16.proxy.css({
					left : e.data.left,
					top : e.data.top,
					width : ($.boxModel == true ? (e.data.width - (_16.proxy
							.outerWidth() - _16.proxy.width())) : e.data.width),
					height : ($.boxModel == true
							? (e.data.height - (_16.proxy.outerHeight() - _16.proxy
									.height()))
							: e.data.height)
				});
				return false;
			},
			onStopResize : function(e) {
				_16.options.left = e.data.left;
				_16.options.top = e.data.top;
				_16.options.width = e.data.width;
				_16.options.height = e.data.height;
				_1(_15);
				_16.pmask.remove();
				_16.pmask = null;
				_16.proxy.remove();
				_16.proxy = null;
			}
		});
	};
	function _10() {
		if (document.compatMode == "BackCompat") {
			return {
				width : Math.max(document.body.scrollWidth,
						document.body.clientWidth),
				height : Math.max(document.body.scrollHeight,
						document.body.clientHeight)
			};
		} else {
			return {
				width : Math.max(document.documentElement.scrollWidth,
						document.documentElement.clientWidth),
				height : Math.max(document.documentElement.scrollHeight,
						document.documentElement.clientHeight)
			};
		}
	};
	$(window).resize(function() {
				$("body>div.window-mask").css({
							width : $(window).width(),
							height : $(window).height()
						});
				setTimeout(function() {
							$("body>div.window-mask").css({
										width : _10().width,
										height : _10().height
									});
						}, 50);
			});
	$.fn.window = function(_17, _18) {
		if (typeof _17 == "string") {
			var _19 = $.fn.window.methods[_17];
			if (_19) {
				return _19(this, _18);
			} else {
				return this.panel(_17, _18);
			}
		}
		_17 = _17 || {};
		return this.each(function() {
					var _1a = $.data(this, "window");
					if (_1a) {
						$.extend(_1a.options, _17);
					} else {
						_1a = $.data(this, "window", {
									options : $.extend({},
											$.fn.window.defaults, $.fn.window
													.parseOptions(this), _17)
								});
						if (!_1a.options.inline) {
							$(this).appendTo("body");
						}
					}
					_9(this);
					_14(this);
				});
	};
	$.fn.window.methods = {
		options : function(jq) {
			var _1b = jq.panel("options");
			var _1c = $.data(jq[0], "window").options;
			return $.extend(_1c, {
						closed : _1b.closed,
						collapsed : _1b.collapsed,
						minimized : _1b.minimized,
						maximized : _1b.maximized
					});
		},
		window : function(jq) {
			return $.data(jq[0], "window").window;
		},
		resize : function(jq, _1d) {
			return jq.each(function() {
						_1(this, _1d);
					});
		},
		move : function(jq, _1e) {
			return jq.each(function() {
						_5(this, _1e);
					});
		}
	};
	$.fn.window.parseOptions = function(_1f) {
		var t = $(_1f);
		return $.extend({}, $.fn.panel.parseOptions(_1f), {
			draggable : (t.attr("draggable")
					? t.attr("draggable") == "true"
					: undefined),
			resizable : (t.attr("resizable")
					? t.attr("resizable") == "true"
					: undefined),
			shadow : (t.attr("shadow") ? t.attr("shadow") == "true" : undefined),
			modal : (t.attr("modal") ? t.attr("modal") == "true" : undefined),
			inline : (t.attr("inline") ? t.attr("inline") == "true" : undefined)
		});
	};
	$.fn.window.defaults = $.extend({}, $.fn.panel.defaults, {
				zIndex : 9000,
				draggable : true,
				resizable : false,//true,
				shadow : true,
				modal : true,//false,
				inline : false,
				title : "New Window",
				collapsible : true,
				minimizable : false,//true,
				maximizable : true,
				closable : true,
				closed : false
			});
})(jQuery);
